package com.bigdata.mapreduce;



import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class IteratorDemo {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(2, 3, 5, 1, 8, 9);
        System.out.println(list.size());

        /*
        做了什么 new 了一个ArrayList的内部类的迭代器对象
        后续使用迭代器获取数据
        好处：每个迭代器仅仅是一个对象，里面是不存储任务集合中的数据
        对同一份数据，做并发的逻辑处理，不同的线程中只要维护自己的迭代器对象即可
        不同的线程中，不需要存储任务集合中的数据，节省了内存开销
         */
        Iterator<Integer> iter = list.iterator();

        while (iter.hasNext()) {
            System.out.println(iter.next());
        }
        // 嵌套迭代器
        // System.out.println(iter.next());
    }

}

